package org.ghost.quickstart.scalac.datatype

import java.text.MessageFormat

import org.ghost.quickstart.scalac.traits.BaseTrait

/**
  * 数据类型	描述
  * Byte	8位有符号补码整数。数值区间为 -128 到 127
  * Short	16位有符号补码整数。数值区间为 -32768 到 32767
  * Int	32位有符号补码整数。数值区间为 -2147483648 到 2147483647
  * Long	64位有符号补码整数。数值区间为 -9223372036854775808 到 9223372036854775807
  * Float	32位IEEE754单精度浮点数
  * Double	64位IEEE754单精度浮点数
  * Char	16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF
  * String	字符序列
  * Boolean	true或false
  * Unit	表示无值，和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值，写成()。
  * Null	null 或空引用
  * Nothing	Nothing类型在Scala的类层级的最低端；它是任何其他类型的子类型。
  * Any	Any是所有其他类的超类
  * AnyRef	AnyRef类是Scala里所有引用类(reference class)的基类
  */
object DataType extends BaseTrait {
  override def print(): Unit = {
    println(MessageFormat.format("Byte->8位有符号补码整数。数值区间为:[{0},{1}]", Byte.MinValue.toString, Byte.MaxValue.toString))
    println(MessageFormat.format("Short->16位有符号补码整数。数值区间为:[{0},{1}]", Short.MinValue.toString, Short.MaxValue.toString))
    println(MessageFormat.format("Int->32位有符号补码整数。数值区间为:[{0},{1}]", Int.MinValue.toString, Int.MaxValue.toString))
    println(MessageFormat.format("Long->64位有符号补码整数。数值区间为:[{0},{1}]", Long.MinValue.toString, Long.MaxValue.toString))
    println(MessageFormat.format("Float->32位IEEE754单精度浮点数。数值区间为:[{0},{1}]", Float.MinValue.toString, Float.MaxValue.toString))
    println(MessageFormat.format("Double->64位IEEE754单精度浮点数。数值区间为:[{0},{1}]", Double.MinValue.toString, Double.MaxValue.toString))

    println(MessageFormat.format("Char->16位无符号Unicode字符。数值区间为:[{0},{1}]", Char.MinValue.toInt.toString, Char.MaxValue.toInt.toString))
    println(MessageFormat.format("String->字符序列:[{0},{1}]", "呵呵", "哈哈"))
    println(MessageFormat.format("Boolean->true或false:[{0},{1}]", true.toString, false.toString))
    println("Unit->表示无值，和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值，写成():[{0},{1}]")
    println("Null->null 或空引用")
    println("Nothing->Nothing类型在Scala的类层级的最低端；它是任何其他类型的子类型")
    println("Any->Any是所有其他类的超类")
    println("AnyRef->AnyRef类是Scala里所有引用类(reference class)的基类")
  }
}
